package cn.imnu.legalaid.service;

import cn.imnu.legalaid.dto.Consultation.*;
import cn.imnu.legalaid.entity.Consultations;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author 18498
* @description 针对表【consultations(咨询表)】的数据库操作Service
* @createDate 2025-09-19 17:49:09
*/
public interface ConsultationsService extends IService<Consultations> {

    Integer createConsultation(ConsultationDTO consultationDTO);

    Page<ConsultationDTO> getConsultations(Page<ConsultationDTO> page, ConsultationQueryDTO queryDTO);

    ConsultationDTO getConsultationDetail(Integer id);

    void updateConsultationStatus(Integer id, String status);

    List<MessageDTO> getMessages(Integer consultationId);

    Integer sendMessage(MessageDTO messageDTO);

    void markMessagesAsRead(Integer consultationId, List<Integer> messageIds);

    void submitReview(Integer consultationId, ReviewDTO reviewDTO);

    ConsultationDTO acceptConsultation(Integer consultationId, Integer lawyerId);
}


